/*
 *Universidad Distrital Francisco José de Caldas
 *Proyecto de grado, Tecnología en Sistematización de Datos
 *Autores: Fernando Samboni
 *         Juan Carlos Cruz
 *
 */

$(document).ready(function() {
    
    //Ubica el foco en el campo 'Código'
    $("#codigo").focus();
    
    //Verifica si se ha presionado la tecla 'ENTER'
    $("#codigo").bind("keypress", function(e){
        if(e.keyCode==13){
            //El valor debe ser once, equivalente a la longitud del código Estudiantil
            if($("#codigo").val().length === 11 && isNaN($("#codigo").val())===false){
                consultarEstudiante();  
            } 
            else{
                $("#codigo").focus(); 
            }
            return false;
        }
    });
    
    $('#codigo').blur(function() {
        //El valor debe ser once, equivalente a la longitud del código Estudiantil
        if($("#codigo").val().length === 11 && (isNaN($("#codigo").val()))===false){
            consultarEstudiante();  
        } 
        else{
            $("#codigo").focus();     
        }
        return false;
    });
 
    
    //Verifica si se clickeo el boton 'Consultar'
    $("#btnConsultarEstudiante").click(function(){
        //El valor debe ser once, equivalente a la longitud del código Estudiantil
        if($("#codigo").val().length === 11 && (isNaN($("#codigo").val()))===false){
            consultarEstudiante();  
        }
        else{
            $("#codigo").focus(); 
        }
        return false;
    });
    
    //______________________________________________________________________________
    //MANEJO DEL FORMULARIO WIZARD PARA INSCRIPCION DE ESTUDIANTES
    
    $('#formCrearBeneficiario').bootstrapWizard({
        'nextSelector': '.button-next',
        'previousSelector': '.button-previous',
        onTabClick: function (tab, navigation, index) {
            //alert('Click en tab desactivado');
            /*var total = navigation.find('li').length;
            var current = index + 1;

            if(current <= total){
                pasarDatosConfirmar();              
            }*/
            return false;
        },
        onNext: function (tab, navigation, index) {
            var total = navigation.find('li').length;
            var current = index + 1;
            // set wizard title
            $('.step-title', $('#formCrearBeneficiario')).text('Paso ' + (index + 1) + ' de ' + total);
            // set done steps
            jQuery('li', $('#formCrearBeneficiario')).removeClass("done");
            var li_list = navigation.find('li');
            for (var i = 0; i < index; i++) {
                jQuery(li_list[i]).addClass("done");
            }
            //alert("Current= "+current);
            if (current == 1) {
                $('#formCrearBeneficiario').find('.button-previous').hide();
                
            } else {
                $('#formCrearBeneficiario').find('.button-previous').show();
            }
            if (current >= total) {
                $('#formCrearBeneficiario').find('.button-next').hide();
                $('#formCrearBeneficiario').find('.button-submit').show(); 
                //******Pasasamos datos de los formularios de recoleccion de datos al formulario final de confirmación.*******
                pasarDatosConfirmar();
            //************
            } else {
                $('#formCrearBeneficiario').find('.button-next').show();
                $('#formCrearBeneficiario').find('.button-submit').hide();
            }
            App.scrollTo($('.page-title'));
        },
        onPrevious: function (tab, navigation, index) {
            var total = navigation.find('li').length;
            var current = index + 1;
            // set wizard title
            $('.step-title', $('#formCrearBeneficiario')).text('Paso ' + (index + 1) + ' de ' + total);
            // set done steps
            jQuery('li', $('#formCrearBeneficiario')).removeClass("done");
            var li_list = navigation.find('li');
            for (var i = 0; i < index; i++) {
                jQuery(li_list[i]).addClass("done");
            }

            if (current == 1) {
                $('#formCrearBeneficiario').find('.button-previous').hide();
            } else {
                $('#formCrearBeneficiario').find('.button-previous').show();
                    
            }

            if (current >= total) {
                $('#formCrearBeneficiario').find('.button-next').hide();
                $('#formCrearBeneficiario').find('.button-submit').show();
            } else {
                $('#formCrearBeneficiario').find('.button-next').show();
                $('#formCrearBeneficiario').find('.button-submit').hide();
            }

            App.scrollTo($('.page-title'));
        },
        onTabShow: function (tab, navigation, index) {
            var total = navigation.find('li').length;
            var current = index + 1;
            var $percent = (current / total) * 100;
            $('#formCrearBeneficiario').find('.bar').css({
                width: $percent + '%'
            });
        }
    });

    $('#formCrearBeneficiario').find('.button-previous').hide();
    $('#formCrearBeneficiario .button-submit').click(function () {
        
        //Si los formularios estan validados, entonces...
        if($('#crearBeneficiarioConfirmar').validationEngine('validate')){
            crearBeneficiario();            
        }       
        
    //window.location.href = '/#'
    //window.location.href = url+'/administrador/crearbeneficiario/#'
    //alert('Los datos han sido guardados con éxito'); 
    /* 
            if($("#confirmar").is(':checked')) {  
                alert('Los datos han sido guardados con éxito'); 
                location.reload(); 
            } else {  
                alert('No ha confirmado si los datos son correctos'); 
                        
            }
         */
    }).hide();
    

});
    
    
//METODOS______________________________________________________________________________  
function procesarRespuesta(ajaxResponse)
{ 
    // Observar que aquí asumimos que el resultado es un objeto 
    // serializado en JSON, razón por la cual tomamos este dato
    // y lo procesamos para recuperar un objeto que podamos
    // manejar fácilmente
    if (typeof ajaxResponse == "string"){
        ajaxResponse = $.parseJSON(ajaxResponse); 
    //alert("entro Procesar respuesta");
    }               
    return ajaxResponse;
}
    
//______________________________________________________________________________
function inhabilitarCampos(){
        
    $("#carrera").attr("disabled",'disabled');
    $("#nombres").attr("disabled",'disabled');
    $("#apellidos").attr("disabled",'disabled');
    $("#documento").attr("disabled",'disabled');
    $("#tipoDocumento").attr("disabled",'disabled');
    //$("#fechaNacimiento").attr("disabled",'disabled');
    $("#genero").attr("disabled",'disabled');
    //__________________________________________________________________________
    //FORMULARIO DE CONFIRMACION
    $("#codigo2").attr("disabled",'disabled');
    $("#carrera2").attr("disabled",'disabled');
    $("#nombres2").attr("disabled",'disabled');
    $("#apellidos2").attr("disabled",'disabled');
    $("#documento2").attr("disabled",'disabled');
    $("#tipoDocumento2").attr("disabled",'disabled');
    //$("#fechaNacimiento2").attr("disabled",'disabled');
    $("#genero2").attr("disabled",'disabled');  
}
    
function habilitarCampos(){
    
    $('#formCrearBeneficiario').find('.button-next').show();    
    $("#carrera").removeAttr('disabled');        
    $("#nombres").removeAttr('disabled');        
    $("#apellidos").removeAttr('disabled');        
    $("#documento").removeAttr('disabled');        
    $("#tipoDocumento").removeAttr('disabled');       
    //$("#fechaNacimiento").removeAttr('disabled');        
    $("#genero").removeAttr('disabled');        
    //__________________________________________________________________________
    //FORMULARIO DE CONFIRMACION
    //$("#codigo2").removeAttr('disabled');
    $("#carrera2").removeAttr('disabled');
    $("#nombres2").removeAttr('disabled');
    $("#apellidos2").removeAttr('disabled');
    $("#documento2").removeAttr('disabled');
    $("#tipoDocumento2").removeAttr('disabled');
    //$("#fechaNacimiento2").removeAttr('disabled');
    $("#genero2").removeAttr('disabled'); 
}
    
function limpiar(){
    $("#carrera").attr("value","");
    $("#nombres").attr("value","");
    $("#apellidos").attr("value","");
    $("#documento").attr("value","");
    $("#tipoDocumento").attr("value","");
    $("#fechaNacimiento").attr("value","");
    //$("input:radio[name='genero'][value='M']").prop('checked', false);  
    $("#genero").attr("value","");
    $("#semestre").attr("value","");
    $("#promedio").attr("value","");   
    $("#asignaturasPerdidas").attr("value","");
    $("#estadoCivil").attr("value","");
    $("#ciudadResidencia").attr("value","");
    $("#localidad").attr("value","");
    $("#barrio").attr("value","");
    $("#estrato").attr("value","");
    $("#direccion").attr("value","");
    $("#telefono").attr("value","");
    $("#celular").attr("value","");
    $("#email").attr("value","");
    $("#matricula").attr("value","");                
    $("#ingresos").attr("value","");
    $("#autosostenimiento").attr("value",""); 
    $("#sostieneHogar").attr("value","");        
    $("#descripcionNucleo").attr("value","");
    $("#personasCargo").attr("");
    $("#descripcionPC").attr("value","");
    $("#procedeFueraBogota").attr("value","");
    $("#ciudadOrigen").attr("value","");
    $("#desplazado").attr("value",""); 
    $("#poblacion").attr("value","");
    $("#discapacidad").attr("value","");
    $("#patologias").attr("value",""); 
    $("#patologiasDescripcion").attr("value","");    
    $("#seguridadSocial").attr("value","");
        
    //$("input:radio[name='autosostenimiento2'][value='M']").prop('checked', false);
    //$("input:radio[name='sostieneHogar'][value='"+$('input[name="sostieneHogar"]:checked').val()+"']").prop('checked', false);
    //$("input:radio[name='nucleo'][value='"+$('input[name="nucleo"]:checked').val()+"']").prop('checked', true);
    //$("input:radio[name='personasCargo'][value='"+$('input[name="personasCargo"]:checked').val()+"']").prop('checked', false);
    //$("input:radio[name='procedeBogota'][value='"+$('input[name="procedeBogota"]:checked').val()+"']").prop('checked', false);
    //$("input:radio[name='desplazado'][value='"+$('input[name="desplazado"]:checked').val()+"']").prop('checked', false);
    //$("input:radio[name='discapacidad'][value='"+$('input[name="discapacidad"]:checked').val()+"']").prop('checked', false);    
    //$("input:radio[name='patologias'][value='"+$('input[name="patologias"]:checked').val()+"']").prop('checked', false); 
    //______________________________________________________________________
    //FORMULARIO DE CONFIRMACION
    //$("#codigo2").attr("value","");
    $("#carrera2").attr("value","");
    $("#nombres2").attr("value","");
    $("#apellidos2").attr("value","");
    $("#documento2").attr("value","");
    $("#tipoDocumento2").attr("value","");
    $("#fechaNacimiento2").attr("value","");        
    $("#genero2").attr("value","");
    $("#semestre2").attr("value","");
    $("#promedio2").attr("value","");   
    $("#asignaturasPerdidas2").attr("value","");
    $("#estadoCivil2").attr("value","");
    $("#ciudadResidencia2").attr("value","");
    $("#localidad2").attr("value","");
    $("#barrio2").attr("value","");
    $("#estrato2").attr("value","");
    $("#direccion2").attr("value","");
    $("#telefono2").attr("value","");
    $("#celular2").attr("value","");
    $("#email2").attr("value","");
    $("#matricula2").attr("value","");                
    $("#ingresos2").attr("value","");
    $("#autosostenimiento2").attr("value",""); 
    $("#sostieneHogar2").attr("value","");        
    $("#descripcionNucleo2").attr("value","");
    $("#personasCargo2").attr("");
    $("#descripcionPC2").attr("value","");
    $("#procedeFueraBogota2").attr("value","");
    $("#ciudadOrigen2").attr("value","");
    $("#desplazado2").attr("value",""); 
    $("#poblacion2").attr("value","");
    $("#discapacidad2").attr("value","");
    $("#patologias2").attr("value",""); 
    $("#patologiasDescripcion2").attr("value","");    
    $("#seguridadSocial2").attr("value","");
/*
        $("input:radio[name='genero2']").prop('checked', false);    
        $("input:radio[name='autosostenimiento2'][value='M']").prop('checked', false);
        $("input:radio[name='sostieneHogar2'][value='"+$('input[name="sostieneHogar"]:checked').val()+"']").prop('checked', false);
        $("input:radio[name='nucleo2'][value='"+$('input[name="nucleo"]:checked').val()+"']").prop('checked', true);
        $("input:radio[name='personasCargo2'][value='"+$('input[name="personasCargo"]:checked').val()+"']").prop('checked', false);
        $("input:radio[name='procedeBogota2'][value='"+$('input[name="procedeBogota"]:checked').val()+"']").prop('checked', false);
        $("input:radio[name='desplazado2'][value='"+$('input[name="desplazado"]:checked').val()+"']").prop('checked', false);
        $("input:radio[name='discapacidad2'][value='"+$('input[name="discapacidad"]:checked').val()+"']").prop('checked', false);    
        $("input:radio[name='patologias2'][value='"+$('input[name="patologias"]:checked').val()+"']").prop('checked', false);   
        */
}
    
//______________________________________________________________________________    

//Consultar si hay registro de Estudiantes en la tabla "estudiantes"
function consultarEstudiante() {        
    
    //Obtenemos los datos en variables
    var codigo = $("#codigo").val();
    //alert("Codigo= "+codigo)
    var dataString = "codigo="+codigo;
        
    //Enviamos valores con AJAX
    $.ajax({
        async: true,
        dataType: "html",
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
        url: url+"/coordinador/consultarestudiante",
        data: dataString,
        beforeSend: function(data){
            $("#msjconfirmacion").html("<label style='color:blue;'>* Consultando datos...</label>");
        },
        success: function(requestData){
            //alert("Servidor respondio: "+requestData);
            if(requestData == 0){
                $("#msjCodigo").html("<label style='color:green;'>* Estudiante no presenta registros. Disponible para Ingresar.</label>");
                habilitarCampos();
                limpiar();
            }else if(requestData == 1){
                
                $("#msjCodigo").html("<label style='color:red;'>* El Estudiante ya se encuentra inscrito en la convocatoria actual.</label>");
                //alert("El Estudiante ya se encuentra inscrito en la convocatoria actual.");
                $('#formCrearBeneficiario').find('.button-next').hide();                
                inhabilitarCampos();
                //$("#codigo").attr("value",""); 
                $("#codigo").focus();
                
            }                
            else{
                $("#msjCodigo").html("<label style='color:blue;'>* Estudiante presenta registros. Se cargarán datos básicos</label>");
                $('#formCrearBeneficiario').find('.button-next').show();   
                //alert(" Consulta exitosa. ");
                var estudiantes =  procesarRespuesta(requestData);      
                if (!estudiantes)
                {
                    alert("No hay datos de Estudiantes"); 
                    return;
                }
                    
                //LLenamos el formulario de Inscripción con los datos registrados en la Tabla "estudiantes"                    
                $("#carrera").attr("value",estudiantes.codigoProyCurricular);                    
                $("#nombres").attr("value",estudiantes.nombres);
                $("#apellidos").attr("value",estudiantes.apellidos);
                $("#documento").attr("value",estudiantes.nroDocIdentidad);
                $("#tipoDocumento").attr("value",estudiantes.tipoDocIdentidad);
                $("#fechaNacimiento").attr("value",estudiantes.fechaNacimiento);
                //$("input:radio[name='genero'][value='"+estudiantes.genero+"']").prop('checked', true);   
                $("#genero").attr("value",estudiantes.genero);
                $("#email").attr("value",estudiantes.email);                
                $("#ciudadResidencia").chosen().val(estudiantes.idCiudadResidencia).trigger("liszt:updated");
                $("#localidad").attr("value",estudiantes.localidadResidencia);
                $("#barrio").attr("value",estudiantes.barrioResidencia);
                $("#estrato").attr("value",estudiantes.estratoResidencia);
                $("#direccion").attr("value",estudiantes.direccionResidencia);
                $("#telefono").attr("value",$("#telefono").val());
                $("#celular").attr("value",$("#celular").val());     
                inhabilitarCampos();
            }	        
        },
        error: function(requestData, strError, strTipoError){
            alert("Error "+strTipoError+": " + strError);
        },
        complete: function (requestData, exito){}
    });
    
}

function pasarDatosConfirmar(){
                        
    //*****CAPTURAMOS TODOS LOS DATOS DE LOS FORMULARIOS PARA DILIGENCIAR LA CREACION DE BENEFICIARIOS 
    //     Y PASAMOS COPIA AL FORMULARIO DE CONFIRMACION*****
                    
    $("#codigo2").attr("value",$("#codigo").val());
    $("#carrera2").attr("value",$("#carrera").val());
    $("#nombres2").attr("value",$("#nombres").val());
    $("#apellidos2").attr("value",$("#apellidos").val());
    $("#documento2").attr("value",$("#documento").val());
    $("#tipoDocumento2").attr("value",$("#tipoDocumento").val());
    $("#fechaNacimiento2").attr("value",$("#fechaNacimiento").val());
    //$("input:radio[name='genero2'][value='"+$('input[name="genero"]:checked').val()+"']").prop('checked', true);          
    $("#genero2").attr("value",$("#genero").val());
    $("#semestre2").attr("value",$("#semestre").val());
    $("#promedio2").attr("value",$("#promedio").val());   
    $("#asignaturasPerdidas2").attr("value",$("#asignaturasPerdidas").val());
    $("#estadoCivil2").attr("value",$("#estadoCivil").val());
    $('#ciudadResidencia2').chosen().val($("#ciudadResidencia").val()).trigger("liszt:updated");
    $("#localidad2").attr("value",$("#localidad").val());
    $("#barrio2").attr("value",$("#barrio").val());
    $("#estrato2").attr("value",$("#estrato").val());
    $("#direccion2").attr("value",$("#direccion").val());
    $("#telefono2").attr("value",$("#telefono").val());
    $("#celular2").attr("value",$("#celular").val());
    $("#email2").attr("value",$("#email").val());
    $("#matricula2").attr("value",$("#matricula").val());                
    $("#ingresos2").attr("value",$("#ingresos").val());
    //$("input:radio[name='autosostenimiento2'][value='"+$('input[name="autosostenimiento"]:checked').val()+"']").prop('checked', true);
    $("#autosostenimiento2").attr("value",$("#autosostenimiento").val());
    //$("input:radio[name='sostieneHogar2'][value='"+$('input[name="sostieneHogar"]:checked').val()+"']").prop('checked', true);
    $("#sostieneHogar2").attr("value",$("#sostieneHogar").val());
    //$("input:radio[name='nucleo2'][value='"+$('input[name="nucleo"]:checked').val()+"']").prop('checked', true);    
    $("#nucleo2").attr("value",$("#nucleo").val());
    $("#descripcionNucleo2").attr("value",$("#descripcionNucleo").val());    
    //$("input:radio[name='personasCargo2'][value='"+$('input[name="personasCargo"]:checked').val()+"']").prop('checked', true);
    $("#personasCargo2").attr("value",$("#personasCargo").val());
    $("#descripcionPC2").attr("value",$("#descripcionPC").val());
    //$("input:radio[name='procedeBogota2'][value='"+$('input[name="procedeBogota"]:checked').val()+"']").prop('checked', true);  
    $("#procedeFueraBogota2").attr("value",$("#procedeFueraBogota").val());
    $("#ciudadOrigen2").chosen().val($("#ciudadOrigen").val()).trigger("liszt:updated");
    //$("input:radio[name='desplazado2'][value='"+$('input[name="desplazado"]:checked').val()+"']").prop('checked', true);  
    $("#desplazado2").attr("value",$("#desplazado").val()); 
    $("#poblacion2").attr("value",$("#poblacion").val()); 
    //$("input:radio[name='discapacidad2'][value='"+$('input[name="discapacidad"]:checked').val()+"']").prop('checked', true);    
    $("#discapacidad2").attr("value",$("#discapacidad").val()); 
    //$("input:radio[name='patologias2'][value='"+$('input[name="patologias"]:checked').val()+"']").prop('checked', true);   
    $("#patologias2").attr("value",$("#patologias").val()); 
    $("#patologiasDescripcion2").attr("value",$("#patologiasDescripcion").val());    
    $("#seguridadSocial2").attr("value",$("#seguridadSocial").val());
}


function crearBeneficiario(){
    
    var codigo = $("#codigo2").val();
    var carrera = $("#carrera2").val();
    var nombres = $("#nombres2").val();
    var apellidos = $("#apellidos2").val();
    var documento = $("#documento2").val();
    var tipoDocumento = $("#tipoDocumento2").val();
    var fechaNacimiento = $("#fechaNacimiento2").val();
    var genero = $("#genero2").val();
    var semestre = $("#semestre2").val();
    var promedio = $("#promedio2").val();   
    var asignaturasPerdidas = $("#asignaturasPerdidas2").val();
    var estadoCivil = $("#estadoCivil2").val();
    var ciudadResidencia = $("#ciudadResidencia2").val();
    var localidad = $("#localidad2").val();
    var barrio = $("#barrio2").val();
    var estrato = $("#estrato2").val();
    var direccion = $("#direccion2").val();
    var telefono = $("#telefono2").val();
    var celular = $("#celular2").val();
    var email = $("#email2").val();
    var matricula = $("#matricula2").val();                
    var ingresos = $("#ingresos2").val();
    var autosostenimiento = $("#autosostenimiento2").val();
    var sostieneHogar = $("#sostieneHogar2").val();
    var nucleo = $("#nucleo2").val();
    var descripcionNucleo = $("#descripcionNucleo2").val();
    var personasCargo = $("#personasCargo2").val();
    var descripcionPC = $("#descripcionPC2").val();
    var procedeFueraBogota = $("#procedeFueraBogota2").val();
    var ciudadOrigen = $("#ciudadOrigen2").val();
    var desplazado = $("#desplazado2").val(); 
    var poblacion = $("#poblacion2").val();
    var discapacidad = $("#discapacidad2").val(); 
    var patologias = $("#patologias2").val(); 
    var patologiasDescripcion = $("#patologiasDescripcion2").val();    
    var seguridadSocial = $("#seguridadSocial2").val();
        
    var dataString = "codigo="+codigo+"&carrera="+carrera+"&nombres="+nombres+"&apellidos="+apellidos+"&documento="+documento+"&tipoDocumento="+tipoDocumento+"&fechaNacimiento="+fechaNacimiento+
    "&genero="+genero+"&semestre="+semestre+"&promedio="+promedio+"&asignaturasPerdidas="+asignaturasPerdidas+"&estadoCivil="+estadoCivil+"&localidad="+localidad+"&ciudadResidencia="+ciudadResidencia+"&barrio="+barrio+"&estrato="+estrato+
    "&direccion="+direccion+"&telefono="+telefono+"&celular="+celular+"&email="+email+"&matricula="+matricula+"&ingresos="+ingresos+"&autosostenimiento="+autosostenimiento+"&sostieneHogar="+sostieneHogar+
    "&nucleo="+nucleo+"&descripcionNucleo="+descripcionNucleo+"&personasCargo="+personasCargo+"&descripcionPC="+descripcionPC+"&procedeFueraBogota="+procedeFueraBogota+"&ciudadOrigen="+ciudadOrigen+"&desplazado="+desplazado+
    "&poblacion="+poblacion+"&discapacidad="+discapacidad+"&patologias="+patologias+"&patologiasDescripcion="+patologiasDescripcion+"&seguridadSocial="+seguridadSocial;
     
    //alert("datos a enviar a beneficiario: "+dataString)
    //Enviamos valores con AJAX
    //dataString = "codigo="+codigo;
    $.ajax({
        async: true,
        dataType: "html",
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
        url: url+"/coordinador/crearbeneficiario",
        data: dataString,
        beforeSend: function(data){
            //alert("Datos a  enviar"+dataString);
        },
        success: function(requestData){
            //alert("Servidor respondio: "+requestData);
            if(requestData == 0){
                alert("La inscripción se ha realizado con éxito");
                location.reload(); 
            }else if(requestData == 1){
                alert("El Estudiante ya se encuentra registrado");
                location.reload(); 
            }  
        },
        error: function(requestData, strError, strTipoError){
            alert("Error "+strTipoError+": " + strError);
            //location.reload(); 
        },
        complete: function (requestData, exito){
            //alert("Exito");
        }
    });
}